package main

import (
	"fmt"
	"sync"
)

/*
goroutine 线程？协程
没有到操作系统这一层， 用户态的线程？ 内核态的线程
多个 goroutine 通过 channel 进行通信
 */

func hello() {
	defer wg.Done()
	fmt.Println("你好， 世界！")
	//time.Sleep(time.Second * 2)

}

var wg sync.WaitGroup

func main() {
	//go hello() // 创建新的 goroutine需要一些时间
	//time.Sleep(time.Second * 3)
	// 启动多个 goroutine
	for i :=0; i < 10; i++ {
		wg.Add(1)
		go hello()

	}
	wg.Wait()
	fmt.Println("主线程完成！")


}
